package com.fly.estore.service;

import com.fly.estore.domain.*;

import java.util.List;

/**
 * Created by Fly on 2016/4/16.
 */
public interface ProductService {

    //-----------------商品品牌--------------------------//
    public int saveProductBrand(ProductBrand brand);

    public int deleteBrandById(String productBrandId);

    public ProductBrand getBrandById(String productBrandId);

    public List<ProductBrand> getBrandList();

    public int getProductCount();

    //-----------------商品分类----------------------//
    public int saveProductCatalog(ProductCatalog catalog);

    public int deleteCatalogById(String productCatalogId);

    public ProductCatalog getCatalogById(String productCatalogId);

    public List<ProductCatalog> getCatalogList();

    //-----------------商品规格---------------------//
    public int saveProductSpec(ProductSpec spec);

    public int deleteSpecById(String productSpecId);

    public ProductSpec getSpecById(String productSpecId);

    public List<ProductSpec> getSpecList();
    //------------------商品类型规格----------------//
    public int deleteCatalogSpecByCatalogId(String productCatalogId);

    public List<ProductCatalogSpec> getCatalogSpecListByCatalogId(String productCatalogId);
    //------------------商品------------------------//
    public int saveProduct(ProductInfo productInfo, String productId);

    public int deleteProductById(String productId);

    public ProductInfo getProductById(String productId);

    public List<ProductInfo> getProductList();

    public List<ProductInfo> queryProductList(String productName, String productCode, String catalogId, String brandId);
    //--------------------商品规格属性---------------//
    public int saveProductSKU(ProductSKU productSKU);

    public int deleteProductSKUById(String productSkuId);

    public ProductSKU getSKUById(String productSkuId);

    public List<ProductSKU> getSKUListByProductId(String productId);

}
